package com.itservice.uzalarm;

//import java.util.Date;  

import android.content.BroadcastReceiver;  
import android.content.Context;  
import android.content.Intent;  
//import android.os.Bundle;  
import android.util.Log;  
//import android.widget.Toast;  

public class UzalarmReceiver extends BroadcastReceiver {  
//    static final String TAG = "test_sample";  
	private final static boolean DEBUG = false;

	private UzalarmManager uzalarmManager;
   
    @Override 
    public void onReceive(Context context, Intent intent) {  
    	// 音楽パス初期化
    	String music_path = null;
    	// ゲームモード
    	int game_mode = 0;															// 今はコメントアウト
    	// Serviceを起動するか、Activityを起動するかの判定用
    	String check_action = intent.getAction();
    	// Uzalarm実行画面へのIntent発行用
        Intent game_launch = new Intent ();
        
    	if(DEBUG)Log.v("log_shima", "onReceive!!!");
    	
    	// 処理内容:getAction判定
        if(check_action.equals(Utility.ALARM_ACTION)){
//			UzaAlarmServiceによって起動されたのでuzalarmActivityを呼ぶ
//			getActionで取得した文字列がuzalarm_Recieverで渡ってきたとき
//			・ゲームの種類(1の迷路に固定)
//			・音楽のパス
//			 をuzalarm実行画面に渡す。

        	if(DEBUG)Log.v("log_shima", "AlarmReceiver_check_action ====> ALARM_ACTION_OK");

        	//UzalarmManagerのインスタンス取得
        	uzalarmManager = UzalarmManager.getInstance();

        	//ディスプレイ表示OFFからの立ち上げ
        	uzalarmManager.PowerManager_Start(context);

        	//キーロック解除
        	uzalarmManager.Keyguard_UnLock(context);

    		// 音楽パスとゲームタイプを取得
        	music_path = intent.getStringExtra("uzalarm_music_path");
        	game_mode = intent.getIntExtra("uzalarm_game_mode" , 1);
           	Log.v("uzalarm","UzalarmReceiver gameMode: " + game_mode);

        	// ゲームタイプによって表示するActivityを変更する。
           	if(game_mode == Utility.GAME_CONF_MAZE)
           	{
	        	game_launch.setClass(context, com.itservice.uzalarm.meiro3.class);
           	}
           	else if(game_mode == Utility.GAME_CONF_MATH)
           	{
	        	game_launch.setClass(context, com.itservice.uzalarm.MathMain.class);
           	}

        	// 音楽パスを設定
        	game_launch.setAction("uzalarm_Game");
        	/* setFlag */
        	game_launch.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
        			Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);

        	game_launch.putExtra("uzalarm_music_path", music_path);
        	game_launch.putExtra("uzalarm_game_mode", game_mode);

           	// Activity起動
        	context.startActivity(game_launch);
        }
        else if(check_action.equals(Intent.ACTION_BOOT_COMPLETED)){
        	// 電源起動時はazalarm画面を起動しないで、UzalarmServiceを起動
        	if(DEBUG)Log.v("log_shima", "AlarmReceiver_check_action ====> BOOT_COMPLETED");
        	game_launch.setClass(context, com.itservice.uzalarm.UzalarmService.class);
        	game_launch.setAction("UzalarmService");
        	game_launch.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
        			Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
        	context.startService(game_launch);
        }
        else{
		    // エラー？？
        	if(DEBUG)Log.v("log_shima", "AlarmReceiver_check_action ====> ERROR");
    	}
    }  
}